
package main

import (
	"fmt"
	"unicode/utf8"
)

func main() {
	s := "hello, 世界"
	fmt.Println(len(s))
	fmt.Println(utf8.RuneCountInString(s))

	for i, r := range "Hello, 世界" {
		fmt.Printf("%d\t%q\t%d\n", i, r, r)
	}

	st := "プログラム"
	fmt.Printf("% x\n", st)
	r := []rune(st)
	fmt.Printf("%x\n", r)
	// 如果是将一个[]rune类型的Unicode字符slice或数组转为string，则对它们进行UTF8编码：

	fmt.Println(string(r))
	// 将一个整数转型为字符串意思是生成以只包含对应Unicode码点字符的UTF8字符串：
	fmt.Println(string(65))
	fmt.Println(string(0x4eac)) // 京
}